/*
 * Copyright (c) 2015—2030 GantSoftware.Co.Ltd. All rights reserved.
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * is not allowed to be distributed or copied without the license from
 * GantSoftware.Co.Ltd. Please contact the company for more information.
 */
package com.gantang.gax.dto.bool;

import com.gantang.gax.dto.FeatureTable;
import lombok.Data;

import java.util.List;

@Data
public class BoolFeatureTable extends FeatureTable {
    //任务ID可以为空
    private String taskId;
    //特征清单
    private List<LogicFeature> features;
    //约束关系
    private List<LogicRule> rules;

    @Data
    public static class LogicFeature {
        //特征族编码
        private String familyCode;
        //特征族名称
        private String familyName;
        //特征值编码
        private String code;
        //特征值名称
        private String name;
        //特征族是否必选,默认true
        private String featureValueStatus;
        //特征族是否必选
        private Boolean isForced;
        //是否过滤
        private Boolean isFilter;
        //权重
        private Integer weight;
    }

    @Data
    public static class LogicRule {
        //表达式
        private String expression;
        //描述
        private String description;
    }
}
